1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
9 using System.Data.SqlClient;
10 using System.IO;
11 using Excel = Microsoft.Office.Interop.Excel;
12 namespace WarehouseManagementSystem
13 {
14 public partial class frmMainMenu : Form
15 {
16 SqlDataReader rdr = null;
17 SqlConnection con = null;
18 SqlCommand cmd = null;
19 ConnectionString cs = new ConnectionString();
20 public frmMainMenu()
21 {
22 InitializeComponent();
23 }
24
25 private void customerToolStripMenuItem_Click(object sender, EventArgs e)
26 {
27 frmCustomers frm = new frmCustomers();
28 frm.Show();
29 }
30
31 private void registrationToolStripMenuItem1_Click(object sender, EventArgs e)
32 {
33 frmRegistration frm = new frmRegistration();
34 frm.Show();
35 }
36
37 private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
38 {
39 frmAbout frm = new frmAbout();
40 frm.Show();
41 }
42
43 private void registrationToolStripMenuItem_Click(object sender, EventArgs e)
44 {
45 frmRegistration frm = new frmRegistration();
46 frm.Show();
47 }
48
49 private void profileEntryToolStripMenuItem_Click(object sender, EventArgs e)
50 {
51 frmCustomers frm = new frmCustomers();
52 frm.Show();
53 }
54
55 private void productToolStripMenuItem_Click(object sender, EventArgs e)
56 {
57
58 frmProduct frm = new frmProduct();
59 frm.Show();
60 }
61
62 private void notepadToolStripMenuItem_Click(object sender, EventArgs e)
63 {
64 System.Diagnostics.Process.Start("Notepad.exe");
65 }
66
67 private void calculatorToolStripMenuItem_Click(object sender, EventArgs e)
68 {
69 System.Diagnostics.Process.Start("Calc.exe");
70 }
71
72 private void wordpadToolStripMenuItem_Click(object sender, EventArgs e)
73 {
74 System.Diagnostics.Process.Start("Wordpad.exe");
75 }
76
77 private void taskManagerToolStripMenuItem_Click(object sender, EventArgs e)
78 {
79 System.Diagnostics.Process.Start("TaskMgr.exe");
80 }
81
82 private void mSWordToolStripMenuItem_Click(object sender, EventArgs e)
83 {
84 System.Diagnostics.Process.Start("Winword.exe");
85 }
86
87 private void categoryToolStripMenuItem_Click(object sender, EventArgs e)
88 {
89 frmCategory frm = new frmCategory();
90 frm.Show();
91 }
92
93 private void companyToolStripMenuItem_Click(object sender, EventArgs e)
94 {
95 frmSubCategory frm = new frmSubCategory();
96 frm.Show();
97 }
98
99 private void customersToolStripMenuItem_Click(object sender, EventArgs e)
100 {
101 frmCustomersRecord frm = new frmCustomersRecord();
102 frm.Show();
103 }
104
105 private void logOutToolStripMenuItem_Click(object sender, EventArgs e)
106 {
107 this.Hide();
108 frmCategory o1 = new frmCategory();
109 o1.Hide();
110 frmSubCategory o2 = new frmSubCategory();
111 o2.Hide();
112 frmProduct o3 = new frmProduct();
113 o3.Hide();
114 frmRegisteredUsersDetails o4 = new frmRegisteredUsersDetails();
115 o4.Hide();
116 frmRegistration o5 = new frmRegistration();
117 o5.Hide();
118 frmStockRecord o6 = new frmStockRecord();
119 o6.Hide();
120 frmCustomersRecord o7 = new frmCustomersRecord();
121 o7.Hide();
122 frmSuppliersRecord o8 = new frmSuppliersRecord();
123 o8.Hide();
124 frmProductsRecord2 o9 = new frmProductsRecord2();
125 o9.Hide();
126 frmSalesRecord2 o10 = new frmSalesRecord2();
127 o10.Hide();
128 frmLogin frm = new frmLogin();
129 frm.Show();
130 frm.txtUserName.Text = "";
131 frm.txtPassword.Text = "";
132 frm.ProgressBar1.Visible = false;
133 frm.txtUserName.Focus();
134 }
135
136 private void frmMainMenu_Load(object sender, EventArgs e)
137 {
138 if (lblUserType.Text.Trim()== "Admin")
139 {
140
141 this.masterEntryToolStripMenuItem.Enabled=true;
142 this.usersToolStripMenuItem.Enabled=true;
143 this.customerToolStripMenuItem1.Enabled=true;
144 this.suppliersToolStripMenuItem.Enabled=true;
145 this.productsToolStripMenuItem.Enabled=true;
146 this.recordsToolStripMenuItem.Enabled=true;
147 this.registrationToolStripMenuItem.Enabled=true;
148 this.databaseToolStripMenuItem.Enabled=true;
149 this.customerToolStripMenuItem.Enabled=true;
150 this.supplierToolStripMenuItem.Enabled=true;
151 this.productToolStripMenuItem.Enabled=true;
152 this.stockToolStripMenuItem.Enabled=true;
153 this.invoiceToolStripMenuItem.Enabled = true;
154
155
156 }
157 if (lblUserType.Text.Trim() == "Sales Person")
158 {
159 this.masterEntryToolStripMenuItem.Enabled = false;
160 this.usersToolStripMenuItem.Enabled = false;
161 this.customerToolStripMenuItem1.Enabled = true;
162 this.suppliersToolStripMenuItem.Enabled = false;
163 this.productsToolStripMenuItem.Enabled = false;
164 this.recordsToolStripMenuItem.Enabled = false;
165 this.registrationToolStripMenuItem.Enabled = false;
166 this.databaseToolStripMenuItem.Enabled = false;
167 this.customerToolStripMenuItem.Enabled = true;
168 this.supplierToolStripMenuItem.Enabled = false;
169 this.productToolStripMenuItem.Enabled = false;
170 this.stockToolStripMenuItem.Enabled = false;
171 this.invoiceToolStripMenuItem.Enabled = true;
172
173 }
174 if (lblUserType.Text.Trim() == "Warehouse Worker")
175 {
176 this.masterEntryToolStripMenuItem.Enabled = false;
177 this.usersToolStripMenuItem.Enabled = false;
178 this.customerToolStripMenuItem1.Enabled = false;
179 this.suppliersToolStripMenuItem.Enabled = false;
180 this.productsToolStripMenuItem.Enabled = false;
181 this.recordsToolStripMenuItem.Enabled = false;
182 this.registrationToolStripMenuItem.Enabled = false;
183 this.databaseToolStripMenuItem.Enabled = false;
184 this.customerToolStripMenuItem.Enabled = false;
185 this.supplierToolStripMenuItem.Enabled = false;
186 this.productToolStripMenuItem.Enabled = false;
187 this.stockToolStripMenuItem.Enabled = false;
188 this.invoiceToolStripMenuItem.Enabled = false;
189
190 }
191
192 if (lblUserType.Text.Trim() == "Warehouse Manager")
193 {
194 this.masterEntryToolStripMenuItem.Enabled = false;
195 this.usersToolStripMenuItem.Enabled = false;
196 this.customerToolStripMenuItem1.Enabled = false;
197 this.suppliersToolStripMenuItem.Enabled = false;
198 this.productsToolStripMenuItem.Enabled = false;
199 this.recordsToolStripMenuItem.Enabled = false;
200 this.registrationToolStripMenuItem.Enabled = false;
201 this.databaseToolStripMenuItem.Enabled = false;
202 this.customerToolStripMenuItem.Enabled = false;
203 this.supplierToolStripMenuItem.Enabled = true;
204 this.productToolStripMenuItem.Enabled = true;
205 this.stockToolStripMenuItem.Enabled = true;
206 this.invoiceToolStripMenuItem.Enabled = false;
207
208 }
209 ToolStripStatusLabel4.Text = System.DateTime.Now.ToString();
210 GetData();
211 }
212
213 private void timer1_Tick(object sender, EventArgs e)
214 {
215 ToolStripStatusLabel4.Text = System.DateTime.Now.ToString();
216 }
217
218 private void productsToolStripMenuItem1_Click(object sender, EventArgs e)
219 {
220 frmProduct frm = new frmProduct();
221 frm.Show();
222 }
223
224 private void productsToolStripMenuItem2_Click(object sender, EventArgs e)
225 {
226 frmProductsRecord2 frm = new frmProductsRecord2();
227 frm.Show();
228 }
229
230
231 private void stockToolStripMenuItem1_Click(object sender, EventArgs e)
232 {
233 this.Hide();
234 frmStock frm = new frmStock();
235 frm.lblUser.Text = lblUser.Text;
236 frm.lblUserType.Text = lblUserType.Text;
237 frm.Show();
238 }
239
240 private void stockToolStripMenuItem_Click(object sender, EventArgs e)
241 {
242 this.Hide();
243 frmStock frm = new frmStock();
244 frm.lblUser.Text = lblUser.Text;
245 frm.lblUserType.Text = lblUserType.Text;
246 frm.Show();
247 }
248
249 public void GetData()
250 {
251 try
252 {
253 con = new SqlConnection(cs.DBConn);
254 con.Open();
255 String sql = "SELECT Product.ProductID,ProductName,Features,Price,sum(Quantity),sum(Price*Quantity) from Temp_Stock,Product where Temp_Stock.ProductID=Product.ProductID group by Product.productID,productname,Price,Features,Quantity having(Quantity>0) order by ProductName";
256 cmd = new SqlCommand(sql, con);
257 rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
258 dataGridView1.Rows.Clear();
259 while (rdr.Read() == true)
260 {
261 dataGridView1.Rows.Add(rdr[0], rdr[1], rdr[2], rdr[3], rdr[4], rdr[5]);
262 }
263 foreach (DataGridViewRow r in this.dataGridView1.Rows)
264 {
265 if (Convert.ToInt32(r.Cells[4].Value) < 10)
266 {
267 r.DefaultCellStyle.BackColor = Color.Red;
268 }
269 }
270 con.Close();
271 }
272 catch (Exception ex)
273 {
274 MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
275 }
276 }
277
278
279 private void invoiceToolStripMenuItem_Click(object sender, EventArgs e)
280 {
281 this.Hide();
282 frmSales frm = new frmSales();
283 frm.lblUser.Text = lblUser.Text;
284 frm.lblUserType.Text = lblUserType.Text;
285 frm.Show();
286 }
287
288 private void salesToolStripMenuItem_Click(object sender, EventArgs e)
289 {
290 this.Hide();
291 frmSales frm = new frmSales();
292 frm.lblUser.Text = lblUser.Text;
293 frm.lblUserType.Text = lblUserType.Text;
294 frm.Show();
295 }
296
297 private void salesToolStripMenuItem1_Click(object sender, EventArgs e)
298 {
299 frmSalesRecord2 frm = new frmSalesRecord2();
300 frm.Show();
301 }
302
303 private void loginDetailsToolStripMenuItem_Click(object sender, EventArgs e)
304 {
305 frmLoginDetails frm = new frmLoginDetails();
306 frm.Show();
307 }
308
309 private void textBox1_TextChanged(object sender, EventArgs e)
310 {
311 try{
312 con = new SqlConnection(cs.DBConn);
313 con.Open();
314 String sql = "SELECT Product.ProductID,ProductName,Features,Price,sum(Quantity),sum(Price*Quantity) from Temp_Stock,Product where Temp_Stock.ProductID=Product.ProductID and ProductName like '" + txtProductName.Text + "%' group by product.ProductID,productname,Price,Features,Quantity having(quantity>0) order by ProductName";
315 cmd = new SqlCommand(sql, con);
316 rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
317 dataGridView1.Rows.Clear();
318 while (rdr.Read() == true)
319 {
320 dataGridView1.Rows.Add(rdr[0], rdr[1], rdr[2], rdr[3], rdr[4], rdr[5]);
321 }
322 foreach (DataGridViewRow r in this.dataGridView1.Rows)
323 {
324 if (Convert.ToInt32(r.Cells[4].Value) < 10)
325 {
326 r.DefaultCellStyle.BackColor = Color.Red;
327 }
328 }
329 con.Close();
330 }
331 catch (Exception ex)
332 {
333 MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
334 }
335 }
336
337 private void frmMainMenu_FormClosing(object sender, FormClosingEventArgs e)
338 {
339 this.Dispose();
340
341 }
342
343 private void profileEntryToolStripMenuItem1_Click(object sender, EventArgs e)
344 {
345 frmSuppliers frm = new frmSuppliers();
346 frm.Show();
347 }
348
349 private void supplierToolStripMenuItem_Click(object sender, EventArgs e)
350 {
351 frmSuppliers frm = new frmSuppliers();
352 frm.Show();
353 }
354
355 private void suppliersToolStripMenuItem1_Click(object sender, EventArgs e)
356 {
357 frmSuppliersRecord frm = new frmSuppliersRecord();
358 frm.Show();
359 }
360
361 private void stockToolStripMenuItem2_Click(object sender, EventArgs e)
362 {
363 frmStockRecord frm = new frmStockRecord();
364 frm.Show();
365 }
366
367 private void backupToolStripMenuItem_Click(object sender, EventArgs e)
368 {
369 try
370 {
371 Cursor = Cursors.WaitCursor;
372 timer2.Enabled = true;
373 if ((!System.IO.Directory.Exists("C:\\DBBackup")))
374 {
375 System.IO.Directory.CreateDirectory("C:\\DBBackup");
376 }
377 string destdir = "C:\\DBBackup\\pos_db " + DateTime.Now.ToString("dd-MM-yyyy_HH-mm-ss") + ".bak";
378 con = new SqlConnection(cs.DBConn);
379 con.Open();
380 string cb = "backup database [" + System.Windows.Forms.Application.StartupPath + "\\pos_db.mdf] to disk='" + destdir + "'with init,stats=10";
381 cmd = new SqlCommand(cb);
382 cmd.Connection = con;
383 cmd.ExecuteReader();
384 con.Close();
385 MessageBox.Show("Successfully performed", "Database Backup", MessageBoxButtons.OK, MessageBoxIcon.Information);
386 }
387 catch (Exception ex)
388 {
389 MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
390 }
391 }
392
393 private void restoreToolStripMenuItem_Click(object sender, EventArgs e)
394 {
395 try
396 {
397 var _with1 = openFileDialog1;
398 _with1.Filter = ("DB Backup File|*.bak;");
399 _with1.FilterIndex = 4;
400 //Clear the file name
401 openFileDialog1.FileName = "";
402
403 if (openFileDialog1.ShowDialog() == DialogResult.OK)
404 {
405 Cursor = Cursors.WaitCursor;
406 timer2.Enabled = true;
407 SqlConnection.ClearAllPools();
408 con = new SqlConnection(cs.DBConn);
409 con.Open();
410 string cb = "USE Master ALTER DATABASE [" + System.Windows.Forms.Application.StartupPath + "\\pos_db.mdf] SET Single_User WITH Rollback Immediate Restore database [" + System.Windows.Forms.Application.StartupPath + "\\pos_db.mdf] FROM disk='" + openFileDialog1.FileName + "' WITH REPLACE ALTER DATABASE [" + System.Windows.Forms.Application.StartupPath + "\\pos_db.mdf] SET Multi_User ";
411 cmd = new SqlCommand(cb);
412 cmd.Connection = con;
413 cmd.ExecuteReader();
414 MessageBox.Show("Successfully performed", "Database Restore", MessageBoxButtons.OK, MessageBoxIcon.Information);
415 GetData();
416 }
417 }
418 catch (Exception ex)
419 {
420 MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
421 }
422 }
423
424 private void timer2_Tick(object sender, EventArgs e)
425 {
426 Cursor = Cursors.Default;
427 timer2.Enabled = false;
428 }
429
430 private void btnGetData_Click(object sender, EventArgs e)
431 {
432
433 int rowsTotal = 0;
434 int colsTotal = 0;
435 int I = 0;
436 int j = 0;
437 int iC = 0;
438 System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
439 Excel.Application xlApp = new Excel.Application();
440
441 try
442 {
443 Excel.Workbook excelBook = xlApp.Workbooks.Add();
444 Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelBook.Worksheets[1];
445 xlApp.Visible = true;
446
447 rowsTotal = dataGridView1.RowCount;
448 colsTotal = dataGridView1.Columns.Count - 1;
449 var _with1 = excelWorksheet;
450 _with1.Cells.Select();
451 _with1.Cells.Delete();
452 for (iC = 0; iC <= colsTotal; iC++)
453 {
454 _with1.Cells[1, iC + 1].Value = dataGridView1.Columns[iC].HeaderText;
455 }
456 for (I = 0; I <= rowsTotal - 1; I++)
457 {
458 for (j = 0; j <= colsTotal; j++)
459 {
460 _with1.Cells[I + 2, j + 1].value = dataGridView1.Rows[I].Cells[j].Value;
461 }
462 }
463 _with1.Rows["1:1"].Font.FontStyle = "Bold";
464 _with1.Rows["1:1"].Font.Size = 12;
465
466 _with1.Cells.Columns.AutoFit();
467 _with1.Cells.Select();
468 _with1.Cells.EntireColumn.AutoFit();
469 _with1.Cells[1, 1].Select();
470 }
471 catch (Exception ex)
472 {
473 MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
474 }
475 finally
476 {
477 //RELEASE ALLOACTED RESOURCES
478 System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
479 xlApp = null;
480 }
481 }
482
483 private void btnReset_Click(object sender, EventArgs e)
484 {
485 txtProductName.Text = "";
486 GetData();
487 }
488
489 private void lowStockToolStripMenuItem_Click(object sender, EventArgs e)
490 {
491 frmLowStockReport frm = new frmLowStockReport();
492 frm.ShowDialog();
493 }
494
495
496 }
497 }